A computer grid is a distributed computing environment interconnecting computer devices over one or more computer networks where the types of computer devices employed within a computer grid is essentially limitless. A central grid infrastructure of the computer grid employs one or more grid managers for managing a selection of one or more suitable job handlers for executing a job request. The selected job handler(s) will perform the computations and tasks required to fulfill the job request and return the results to the source of the job request.
To this end, a job request specifies resource selection parameters for facilitating a selection of suitable job handler(s) from a resource pool of job handlers available in the grid for a successful execution of the job request by the selected job handler(s). Examples of such resource selection parameters include, but are not limited to, (1) specified types of services required to perform the required operation(s), (2) specified operational characteristics related to speed, cost, capacity or other well known factors associated with performing the required operation(s), (3) a specified number and/or type of processing units for performing the required operation(s), (4) specified hardware, software and/or firmware for performing the required operation(s), (5) specified licenses providing authorization to perform the required operation(s), and (6) a specified level of security to perform the required operation(s).
The selection of one or more job handlers for executing the job request is dependent upon the resource selection parameters related to a successful execution of the job request, some of which may be unspecified in the job request, as well as the availability and capability of each job handler in the resource pool of the job handlers. Typically, the actual job handler(s) selected by the grid manager(s) to execute the job request will be transparent to the source of the job request. However, the source of the job request may notice fluctuations in the execution of the job request over many submissions of the job request from the source to the grid manager(s) when different job handler(s) are allocated to different submissions of the job request. Particularly, if one or more of the resource selection parameters are unspecified by the source of the job request.
A challenge therefore for the computer industry is to provide the source of the job request with a high degree of performance continuity over numerous resubmissions of the job request from the source to the grid manager(s) while retaining the capability to flexibly select job handler(s) from the resource pool of job handlers.